package com.blog.cmrpersonalblog.dto.article.request;

import com.blog.cmrpersonalblog.common.BasePageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 文章标签查询请求DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ArticleTagQueryRequest extends BasePageRequest {

    /**
     * 构造函数，设置默认排序
     */
    public ArticleTagQueryRequest() {
        super();
        // 设置默认排序：按sort_order升序，然后按use_count降序
        setDefaultSort("sort_order", "asc");
    }

    /**
     * 标签名称（模糊查询）
     */
    private String name;

    /**
     * 标签颜色
     */
    private String color;

    /**
     * 状态（0-禁用 1-启用）
     */
    private Integer status;

    /**
     * 最小使用次数
     */
    private Integer minUseCount;

    /**
     * 最大使用次数
     */
    private Integer maxUseCount;

    /**
     * 关键词（名称和描述模糊查询）
     */
    private String keyword;

    /**
     * 是否只查询启用的标签
     */
    private Boolean onlyEnabled;

    /**
     * 是否只查询已使用的标签
     */
    private Boolean onlyUsed;
}